
package classesValidacao;

import exceptions.CalculoException;
import java.math.BigDecimal;
import java.util.Date;
import manutençãoempregados.UTILS.retornaIdade;
import classesDados.*;


public class ValidaDadosCalculo {
    
    private static double limite = 0;
    
    public static boolean validaEmprestimo(BigDecimal valorEmprestimo,Date dtNasc,String sexo,Salario salario) throws CalculoException{
       int idade = retornaIdade.getIdade(dtNasc);
              
       if (idade >= 21 && idade <= 65){
           
           if(sexo.equals("Feminino")){
                   if(idade >= 21 && idade <= 30)
                       limite = salario.getSalario()*0.7;
                   if(idade >= 31 && idade <= 44)
                       limite = salario.getSalario()*0.5;
                   if(idade >= 45 && idade <= 65)
                       limite = salario.getSalario()*0.35;
               }

               if(sexo.equals("Masculino")){
                   if(idade >= 21 && idade <= 35){
                       if(salario.getSalario() > 5000)
                          limite = salario.getSalario()*0.75;
                       if(salario.getSalario() <= 5000){
                           limite = salario.getSalario()*0.7;
                       }
                   }

                   if(idade >= 36 && idade <= 45 && salario.getSalario() > 6000){
                       if(salario.getSalario() > 6000)
                         limite = salario.getSalario()*0.6;
                       if(salario.getSalario() <= 6000)
                         limite = salario.getSalario()*0.55;
                   }
             }
       }
       
       else
           throw new CalculoException("idade deve ser superior ou igual a 21 anos e inferior ou igual a 65");
       
           if(valorEmprestimo.compareTo(BigDecimal.valueOf(limite)) <= 0){
               System.out.println(limite);
               return true;
           }
           else
               System.out.println(limite);
               throw new CalculoException("Limite do empréstimo excedido");
     }
    
    public static boolean validaPrestacoes(int prestacoes) throws CalculoException{
        if(prestacoes >= 1 && prestacoes <= 24)
            return true;
        else
            throw new CalculoException("Número de prestações deve ser maior ou igual a 1 e menor ou igual a 24");
    }
    
}
